package modelo;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;

public class Calendario implements Comparable {
	//implementa omparable para poder ordenar
	private String codigo;
	private String fecha;
	private Equipo local;
	private Equipo visitante;
	private Arbitro arbitro = new Arbitro();
	private ArrayList<Jugador> goleadores = new ArrayList<Jugador>();
	
	public Calendario() {
		super();
		// TODO Auto-generated constructor stub
	}

	public Calendario(String fecha, Equipo local, Equipo visitante, Arbitro arbitro) {
		super();
		this.fecha = fecha;
		this.local = local;
		this.visitante = visitante;
		this.arbitro = arbitro;
	}

	public String getCodigo() {
		return codigo;
	}

	public void setCodigo(String Codigo) {
		this.codigo = Codigo;
	}
	
	public String getFecha() {
		return fecha;
	}

	public void setFecha(String fecha) {
		this.fecha = fecha;
	}

	public Equipo getLocal() {
		return local;
	}

	public void setLocal(Equipo local) {
		this.local = local;
	}

	public Equipo getVisitante() {
		return visitante;
	}

	public void setVisitante(Equipo visitante) {
		this.visitante = visitante;
	}


	public Arbitro getArbitro() {
		return arbitro;
	}

	public void setArbitro(Arbitro arbitro) {
		this.arbitro = arbitro;
	}
	
	

	public ArrayList<Jugador> getGoleadores() {
		return goleadores;
	}

	public void setGoleadores(ArrayList<Jugador> goleadores) {
		this.goleadores = goleadores;
	}

	@Override
	public int compareTo(Object o) {
		Calendario cal = (Calendario)o;
		
        if(asignarFecha(this.fecha).getTime() < asignarFecha(cal.getFecha()).getTime())
            return -1;
        else if(asignarFecha(this.fecha).getTime() == asignarFecha(cal.getFecha()).getTime())
            return 0;
        else
            return 1;
	}
	
	private Date asignarFecha(String fechaStr){
		SimpleDateFormat formatoDeFecha = new SimpleDateFormat("dd/MM/yyyy");
		Date fecha=null;
		
		try {
			fecha = formatoDeFecha.parse(fechaStr);
		} catch (ParseException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		return fecha;
	}

}
